#ifndef GameBase_H_
#define GameBase_H_
#include <SFML\Graphics.hpp>
#include "FPSCounter.h"
#include "FontManager.h"
using namespace sf;


class IGameScreen;
class GameBase
{
private:
	RenderWindow *Window;
	Color *_mbackBufferColor;
	unsigned int _mWidth, _mHeight;

protected:
	FPSCounter *_fpsCounter;
	FontManager *FontLibrary;

public:
	GameBase(int, int);
	~GameBase();		

	bool Start();
	void Exit();

	void Render();
	void Update();
	bool Load();

	virtual void Logic() = 0;
	virtual bool OnLoad() = 0;
	virtual void OnRender() = 0;

	RenderWindow *GetWindow(void);
	FontManager *GetFontManager();
};
#endif